LINUX/x86_64: Cleanup 15129:a40967e39652 by using __pgd rather than
authorIan Campbell <ian.campbell@xensource.com>
Fri, 25 May 2007 10:24:02 +0000 (11:24 +0100)
committerIan Campbell <ian.campbell@xensource.com>
Fri, 25 May 2007 10:24:02 +0000 (11:24 +0100)
abusing mk_kernel_pgd.

Also set the user bit on the vsyscall entry in the user pgd.

Both changes suggested by Jan Beulich.

Signed-off-by: Ian Campbell <ian.campbell@xensource.com>
linux-2.6-xen-sparse/arch/x86_64/mm/init-xen.c
linux-2.6-xen-sparse/include/asm-x86_64/mach-xen/asm/pgalloc.h

index acef5ea378afd053c823ebaed6182bfd0d3e33f4..ad72d2773e0931a0291bd14d4be6c0fef96e9266 100644 (file)
@@ -577,7 +577,7 @@ void __init xen_init_pt(void)
 
        /* Construct mapping of initial pte page in our own directories. */
        init_level4_pgt[pgd_index(__START_KERNEL_map)] = 
-               mk_kernel_pgd(__pa_symbol(level3_kernel_pgt) | _PAGE_USER);
+               __pgd(__pa_symbol(level3_kernel_pgt) | _PAGE_TABLE);
        level3_kernel_pgt[pud_index(__START_KERNEL_map)] = 
                __pud(__pa_symbol(level2_kernel_pgt) |
                      _KERNPG_TABLE);
index ccd88f9aa31605c9acd53a318528194ec84c8f1c..482efb3d86119934db72c67f1d49e506c8de3006 100644 (file)
@@ -146,8 +146,8 @@ static inline pgd_t *pgd_alloc(struct mm_struct *mm)
        /*
         * Set level3_user_pgt for vsyscall area
         */
-       set_pgd(__user_pgd(pgd) + pgd_index(VSYSCALL_START), 
-               mk_kernel_pgd(__pa_symbol(level3_user_pgt)));
+       set_pgd(__user_pgd(pgd) + pgd_index(VSYSCALL_START),
+               __pgd(__pa_symbol(level3_user_pgt) | _PAGE_TABLE));
        return pgd;
 }